@import "./rootfontsize.css";
.neon-input {
    /* 基础形态 */
    background: #1A1A1A;
    border: 0.125rem solid #32CD32;
    color: #ADFF2F;
    padding: 0.75rem;
    border-radius: 0.375rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);

    /* 光效图层 */
    box-shadow:
        inset 0 0 0.5rem #32CD3230,
        0 0 0.75rem #32CD3220;
}

/* 输入框聚焦态 */
.neon-input:focus {
    outline: none;
    border-color: #ADFF2F;
    box-shadow:
        inset 0 0 0.9375rem #32CD3250,
        0 0 1.25rem #ADFF2F;

    /* 扫描线动画 */
    &::after {
        content: '';
        position: absolute;
        top: -100%;
        left: 0;
        width: 100%;
        height: 0.125rem;
        background: linear-gradient(90deg, 
        transparent, 
        #ADFF2F 50%, 
        transparent
        );
        animation: scan 2s infinite;
    }
}

/* 输入框禁用态 */
.neon-input:disabled {
    border-color: #24592A;
    color: #608060;
    box-shadow: none;
}

/* 输入框占位符 */
.neon-input::placeholder {
    color: #608060;
    opacity: 0.8;
    text-shadow: 0 0 0.1875rem #32CD3220;
}

/* 输入框扫描线 */
@keyframes scan {
    0% { transform: translateY(-100%); }
    100% { transform: translateY(200%); }
}

/* 错误状态提示 */
.neon-input-error {
    border-color: #FF5555 !important;
    animation: error-pulse 0.8s ease-in-out;
    box-shadow: 
        0 0 0.9375rem #FF555550,
        inset 0 0 0.625rem #FF000030;
}

@keyframes error-pulse {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(0.1875rem); }
    75% { transform: translateX(-0.1875rem); }
}

.neon-input:focus-visible {
    outline: 0.125rem solid #ADFF2F;
    outline-offset: 0.125rem;
}

